package com.nervenets.web.controller.handler.admin.movie;

import com.nervenets.web.annotation.NeedValidation;
import com.nervenets.web.controller.handler.common.TokenParams;
import com.nervenets.web.enumeration.MovieReleaseStatus;
import com.nervenets.web.enumeration.MovieStatus;
import com.nervenets.web.enumeration.MovieType;
import com.nervenets.web.validation.Type;
import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = true)
@Data
public class MovieEditParams extends TokenParams {
    @NeedValidation(type = Type.EMPTY, description = "影片ID，不传为新建")
    private long movieId;
    @NeedValidation(type = Type.POSITIVENUMBER, description = "用户ID")
    private long targetUserId;
    @NeedValidation(type = Type.NOTEMPTY, description = "影片类型")
    private MovieType type;
    @NeedValidation(type = Type.NOTEMPTY, description = "融资进度")
    private MovieStatus status;
    @NeedValidation(type = Type.NOTEMPTY, description = "影片上映状态")
    private MovieReleaseStatus releaseStatus;
    @NeedValidation(type = Type.NOTEMPTY, description = "影片主标题")
    private String title;//
    @NeedValidation(type = Type.NOTEMPTY, description = "影片副标题")
    private String subtitle;//
    @NeedValidation(type = Type.POSITIVENUMBER, description = "影片筹集金额，注意添加后编辑无效")
    private long totalOfMoney;//
    @NeedValidation(type = Type.POSITIVENUMBER, description = "影片单份价格")
    private long priceOfUnit;//
    @NeedValidation(type = Type.NUMBER, description = "用户限购数量")
    private int userLimit;//
    @NeedValidation(type = Type.NOTEMPTY, description = "影片封面图")
    private String coverImage;//
    @NeedValidation(type = Type.NOTEMPTY, description = "影片轮播图，格式：['http://xx.xx','http://xx.xx']")
    private String carousels;//
    @NeedValidation(type = Type.NOTEMPTY, description = "影片详情简介内容")
    private String content;//
    @NeedValidation(type = Type.NOTEMPTY, description = "影片收益说明")
    private String incomeDetail;//
    @NeedValidation(type = Type.NOTEMPTY, description = "影片合同说明")
    private String contractDetail;//
    @NeedValidation(type = Type.NOTEMPTY, description = "影片风险提示")
    private String riskWarning;//
    @NeedValidation(type = Type.NUMBER, description = "是否是线下订金交易模式，订金多少就传多少，传0时就不是这模式")
    private long deposit;
    @NeedValidation(type = Type.NOTEMPTY, description = "是否禁用")
    private boolean disable;
    @NeedValidation(type = Type.NUMBER, description = "排序值，值越大越靠前")
    private int queue;
}
